﻿using PC.PickleJar.Attributes;
using PC.PickleJar.DataProviders;
using PC.PickleJar.Trello.Attributes;
using PC.PickleJar.Trello.Data.DataProviders;
using PC.PickleJar.Trello.Helpers;
using PC.PickleJar.Validators;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PC.PickleJar.Trello.Validation
{
	public sealed class TrelloCardValidator : ValidatorBase
	{
		public TrelloCardValidator()
			: this(new TrelloCardDataProvider())
		{
		}

		public TrelloCardValidator(IDataProvider dataProvider)
			: base(dataProvider)
		{
			var targetAttributeTypes = new List<Type>();
			targetAttributeTypes.Add(typeof(TrelloCardAttribute));

			this.TargetAttributeTypes = targetAttributeTypes;
		}

		public override ValidationResult Validate(SourceItemAttribute item, DateTime timestamp)
		{
			return base.Validate(item, timestamp);
		}

		public override IEnumerable<Type> TargetAttributeTypes
		{
			get;
			protected set;
		}
	}
}
